package com.bnz.controller;

import com.alibaba.dubbo.config.annotation.Reference;
import com.bnz.pojo.Student;
import com.bnz.service.StudentService;
import com.bnz.util.PageResult;
import com.bnz.util.R;
import com.bnz.vo.StudentVo;
import org.springframework.web.bind.annotation.*;

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

/**
 * 类名：
 * 作者：WF
 * 功能：学生控制器
 */
@RestController
@RequestMapping("/student2")
public class StudentController2 {
	@Reference    //从zookeeper注册中心取服务
	private StudentService studentService;
	/**
	 * 1. 查询所有学生
	 */
	@GetMapping("/list")
	public R findAll(){
		//1.1 查询所有学生
		List<Student> studentList = studentService.findAll();
		//1.2 返回
		return R.ok().data("list",studentList);
	}

	/**
	 * 2. 条件查询带分页
	 */
	@PostMapping("/search")
	public R search(int page, int pagesize, @RequestBody StudentVo vo){
		PageResult<Student> pr = studentService.search(page, pagesize, vo);
		return R.ok().data("pr",pr);
	}

	/**
	 * 3. 添加学生
	 */
	@PostMapping("add")
	public R add(@RequestBody Student student){
		studentService.add(student);
		return R.ok().message("添加学生成功！");
	}

	/**
	 * 4. 修改学生
	 */
	// @PostMapping("update")
	// public R update(@RequestBody Student student){
	// 	studentService.updateById(student);
	// 	return R.ok().message("修改学生成功！");
	// }

	/**
	 * 5. 删除学生
	 */
	// @PostMapping("delete")
	// public R delete(String[] sids){
	// 	List<Integer> collect = Arrays.stream(sids).map(m -> new Integer(m)).collect(Collectors.toList());
	// 	studentService.delete(collect);
	// 	return R.ok().message("删除学生成功!");
	// }
}
